package Polymorphic.UpDownTransformation;

public class Main {
    public static void main(String[] args) {
        //对象的向上转型就是：父类引用指向子类对象
        Animal anilmal = new Cat();
        anilmal.eat();

        //下面错误。
        //对象一旦向上转型为父类，就不能再调用子类中特有内容了
        //anilmal.catchMouse();

        //向下转型
        Cat cat = (Cat) anilmal;
        cat.catchMouse();

        //下面演示错误的向下转型
        //new的时候是一只猫，现在给还原成狗了
        /*Dog dog = (Dog) anilmal;
        dog.eat();*/
    }
}